#include <iostream>

class Vector
{
private:
    double *elem; // 指向元素的指针
    int sz;       // 元素的数量
public:
    Vector(int s) : elem{new double[s]}, sz{s} // 构造函数：请求资源
    {
        for (int i = 0; i < s; i++)
            elem[i] = 0; // 初始化元素
    }
    Vector(std::initializer_list<double>);        // 使用一个列表进行初始化
    void push_back(double);                       // 再末尾添加一个元素，容器的长度加1
    ~Vector() { delete[] elem; }                  // 析构函数：释放资源
    double &operator[](int i) { return elem[i]; } // 通过下标访问元素
    size_t size() const { return sz; }            // 元素数量
};

int main(int argc, char const *argv[])
{
    Vector v{1, 2, 3};
    return 0;
}
